Wireless networks are, increasingly used for communication to a large number of machine devices such as sensors and consumer electronics devices in addition to smart phones, personal digital assistants (PDAs), and computers resulting in an explosion of different applications. Many of these applications have a requirement to send content asynchronously from the network to the battery operated devices in a secure manner. Examples include pushing price information to smart meters in a demand response system, or sending push notifications to applications running on a smart phone to inform the client application on the device about new information available in the network.
Currently these applications communicate to their devices without any knowledge of network status or the status of the device in the network. Network status includes information about what parts of the network are congested at a given time, policies of the operator with regards to the preferred times and methods for message pushes and access control policies concerning who is allowed to access the device. Device status includes aspects such as device location, device registration to the network, and device wake up times. Furthermore, applications have to set up security keys and perform end-to-end encryption to achieve security.
The conventional approach to protecting the wireless network from an unexpected application behavior is simply to invoke overload prevention mechanisms in the network such as blocking through admission control when demands on the network exceed capacity. Application servers also typically provide their own capabilities to push and pull content from the device in an over-the-top fashion.